package cn.itcast.SellTicekts;

public class SellTicektThread_03 extends Thread {
    //被static 修饰的属性  被所有的对象所共享!!!
    private static int ticekts = 100;
    //任意对象都可以  只要保证 对象唯一
    private  static Object object = new Object();
    @Override
    public void run() {
        while (true){
            sell();
            if(ticekts<=0){
                break;
            }
        }
    }
    //同步方法 -- 修饰符 synchronized 返回值类型 方法名(参数列表){操作共有资源的代码}
    public static synchronized void sell() {
        //普通同步方法 锁对象是谁??? 锁对象 是  this -- 当前对象多的引用
        //静态的同步方法锁对象是谁?  锁对象是 当前类的字节码对象
        if (ticekts > 0) {
            try {
                Thread.sleep(10);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            System.out.println(Thread.currentThread().getName() + "正在卖出第" + ticekts + "张票");
            ticekts--;
        }
    }
}
